Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~
在本系列文會利用目前 Visual Studio 內建的專案樣本建立一個初始的 .NET MAUI 專案,並且透過此 .NET MAUI 專案來把 TopStore App 的開發從 Xamairn.Forms 轉換到 .NET MAUI 上進行。
本篇是 Re: 從零改成用 .NET MAUI 技術來繼續過去用 Xamarin 開發的一個 App : TopStore 系列 系列文的 EP20。
在上一回在 MockData 裡面新增了 Goods 的相關操作,但其實之後的 DbService 裡面也是會有對應的相關操作,所以可以先把 IDataService 這個 interface 定義好,再透過實作介面的動作在 DbService 裡產生對應的操作方法。
所以打開 Services 底下的 IDataService.cs 檔案:
接著來加入以下介面的方法宣告:
ObservableCollection<Models.Product> GetGoods(string keyword = "");
Models.Product GetProduct(int id);
int SaveProduct(Models.Product product);
int DeleteProduct(Models.Product product);
Models.Product NewProduct();
完成後結果如下:
接著打開 Services 底下的 IDataService.cs 檔案:
會看到 Visual Studio 已經亮紅色毛毛蟲了提醒這邊有錯誤,滑鼠移過去。看到是未實作介面方法的相關提醒,就直接點選 "顯示可能的修正":
再來接著直接點選 "實作介面":
Visual Studio 會協助幫忙在 DbService 當中增加實作介面所缺的空方法如下:
public ObservableCollection<Product> GetGoods(string keyword = "")
{
throw new NotImplementedException();
}
public Product GetProduct(int id)
{
throw new NotImplementedException();
}
public int SaveProduct(Product product)
{
throw new NotImplementedException();
}
public int DeleteProduct(Product product)
{
throw new NotImplementedException();
}
public Product NewProduct()
{
throw new NotImplementedException();
}
完成後結果如下:
由於目前還沒有要使用 SQLite 處理 Goods 的資料紀錄,所以暫時有實作介面的方法宣告完成就好。
接著可以打開 PeoplePage.xaml.cs 透過 OpAppering() 執行 App.DataService 取得 People 資料時,來查看這時候 goods 應該記錄到的範例資料有沒有被建立成功:
設定中斷點,此時偵錯執行這個專案應用程式:
在 App 要跑起來出現 PeoplePage 的時候,就會中斷執行。可以在此時觀察一下 App.DataService 內部儲存的資料物件,而且看來有正確長出 goods 內部所應該記錄的資料:
本 EP 介紹所完成的範例程式碼可在此下載。